<?php
/**
 * RabbitMQ配置文件
 * 该文件定义了连接RabbitMQ消息队列服务器所需的所有配置参数
 * 使用环境变量优先的设计模式，便于在不同部署环境中灵活配置
 */
use think\Env; // 导入ThinkPHP框架的环境变量管理类，用于读取.env文件中的配置

return [
    // RabbitMQ服务器主机地址
    // 从环境变量rabbitmq.host读取，如果不存在则使用默认值127.0.0.1（本地服务器）
    'host' => Env::get('rabbitmq.host', '127.0.0.1'),
    
    // RabbitMQ服务器端口号
    // 默认端口5672是RabbitMQ的标准端口
    'port' => Env::get('rabbitmq.port', 5672),
    
    // RabbitMQ用户名
    // guest是RabbitMQ的默认用户名，生产环境建议修改为更安全的用户名
    'user' => Env::get('rabbitmq.user', 'guest'),
    
    // RabbitMQ密码
    // guest是RabbitMQ的默认密码，生产环境必须修改为强密码
    'password' => Env::get('rabbitmq.password', 'guest'),
    
    // 虚拟主机路径
    // /是RabbitMQ的默认虚拟主机，用于隔离不同的应用或环境
    'vhost' => Env::get('rabbitmq.vhost', '/'),
    
    // 交换机名称
    // 用于消息路由的交换机，fastadmin_exchange是默认的交换机名称
    'exchange' => Env::get('rabbitmq.exchange', 'tongyuanhaowu_exchange'),
    
    // 队列名称
    // 消息队列的名称，fastadmin_queue是默认的队列名称
    'queue' => Env::get('rabbitmq.queue', 'tongyuanhaowu_queue'),
    
    // 路由键
    // 用于将消息路由到特定队列的键值，fastadmin_routing_key是默认路由键
    'routing_key' => Env::get('rabbitmq.routing_key', '8e83d4792a87c73421abc6eea3422363'),
    
    // 连接超时时间（秒）
    // 连接RabbitMQ服务器的超时限制，3秒后如果连接不上则报错
    'timeout' => Env::get('rabbitmq.timeout', 3),
    
    // 心跳间隔（秒）
    // 保持连接活跃的心跳机制，60秒发送一次心跳包检测连接状态
    'heartbeat' => Env::get('rabbitmq.heartbeat', 60),
];